package org.dallasrowing.model.dao;


import java.util.Date;
import java.util.List;

import org.dallasrowing.logbook.event.ChangeListener;
import org.dallasrowing.model.LogBookEntry;

public interface LogBookDAO {
	
	public void create(LogBookEntry entry) throws DAOException;
	
	public int update(LogBookEntry entry) throws DAOException;

	public List<LogBookEntry> getEntriesSortByDate(int offset, int count) throws DAOException;

	public LogBookEntry findLogEntryByDate(Date entryOpenDate) throws DAOException;

	public List<LogBookEntry> findOpenEntriesSortByDate() throws DAOException;

	public int getEntriesCount() throws DAOException;
	
	public void registerChangeListener(ChangeListener listener);
}
